x86/HVM: properly handle backward string instruction emulation
authorJan Beulich <jbeulich@suse.com>
Mon, 14 Oct 2013 07:50:16 +0000 (09:50 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 14 Oct 2013 07:50:16 +0000 (09:50 +0200)
commitf21399e148386ecf3826ab81159eca58cfab2147
tree658790e97a8ad57938021db95c551d61b2db9af2
parent7ab6af234f9c140418e6aae177928d00abbb628b
x86/HVM: properly handle backward string instruction emulation

Multiplying a signed 32-bit quantity with an unsigned 32-bit quantity
produces an unsigned 32-bit result, yet for emulation of backward
string instructions we need the result sign extended before getting
added to the base address.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/hvm/intercept.c
xen/arch/x86/hvm/io.c
xen/arch/x86/hvm/stdvga.c